Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота №3

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
О
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Інтелектуальні системи

Частина тексту файла

‘МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ НАЦІОНАЛЬНИЙ УНІВЕРСИТЕТ „ЛЬВІВСЬКА ПОЛІТЕХНІКА”  Лабораторна робота №3 з дисципліни " Теорія інтелектуальних систем" Львів – 2014 Назва: Моделювання простих форм цілеспрямованої поведінки. Дослідження роботи стохастичного автомату зі змінною структурою у випадковому середовищі з перемиканням станів. МЕТА: Змоделювати та дослідити роботу стохастичного автомату зі змінною структурою у випадковому середовищі з перемиканням станів. N Модель оптимальної поведінки Кількість станів середовища Кількість доступних агенту дій  1 W1 3 3   // random agent int randomAgent (void) { return uRand(nA); } int perfectAgent (void) { if (env) paction = argmax(cePa[ceState],nA); else paction = argmax(sePa,nA); return paction; } int SA (void) { int _action = action; if (response > 0) // 1 -> reward { if (state < memSize) state++; // step up in current branch } else // 0 -> penalty { if (state == 1) { // change action (change branch of automaton) if (action == (nA-1)) _action = 0; else _action = action + 1; } else state--; // step down in current branch } return _action; } int agent (int _ag) { int _a = 0; switch (_ag) { case 0: _a = randomAgent(); break; case 1: _a = perfectAgent(); break; case 2: _a = LSA(); break; case 3: _a = TLA(); break; case 4: _a = ILA(); break; default: printf("lab2 error: wrong agent code specified\n"); } return _a; } // ---------------------------------------------------------------------------- // simulation void simulation (int _i) { initAgent(agt); sumR = 0.0f; avrR = 0.0f; for (t=0; t < T; t++) { // get action of agent action = agent(agt); // get response of environment response = environment(env); // calculate cumulative results sumR = sumR + (float)response; avrR = sumR / ((float)t + 1); // save results _sumR[t][_i] = sumR; _avrR[t][_i] = avrR; } } void getMeanValues (void) { for (t=0; t < T; t++) { float tmps1 = 0.0f; float tmps2 = 0.0f; for (int i=0; i < n; i++) { tmps1 += _sumR[t][i]; tmps2 += _avrR[t][i]; } sumRm[t] = (float)tmps1 / (float)n; avrRm[t] = (float)tmps2 / (float)n; } } // ---------------------------------------------------------------------------- // get variances of simulation results void getVarianceValues (void) { for (t=0; t < T; t++) { float tmps1 = 0.0f; float tmps2 = 0.0f; for (int i=0; i < n; i++) { tmps1 += (sumRm[t] - _sumR[t][i]) * (sumRm[t] - _sumR[t][i]); tmps2 += (avrRm[t] - _avrR[t][i]) * (avrRm[t] - _avrR[t][i]); } sumRv[t] = (float)tmps1 / (float)(n-1); avrRv[t] = (float)tmps2 / (float)(n-1); //sumRv[t] = (float)tmps1 / (float)n; //avrRv[t] = (float)tmps2 / (float)n; } } // ---------------------------------------------------------------------------- // main int main(int argc, char* argv[]) { int i; // init random-number generator srand((unsigned)time(NULL)); // init environment if (env == 0) seInit(); else ceInit(); // save parameters of experiment saveParameters(); // run experiment for random agent agt = 0; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsRA(); // run experiment for perfect agent agt = 1; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsPA(); // run experiment for Stohactic automaton agt = LATYPE; for (i=0; i < n; i++) simulation(i); getMeanValues(); getVarianceValues(); saveResultsSA(); return 0  Рис.1 Діаграма для SA, PA, RA Кількість доступних агенту дій p(a0) = 0.445540 p(a1) = 0.252510 p(a2) = 0.188360 Висновок: на цій лабораторній роботі я змоделював та дослідити роботу стохастичного автомату зі змінною структурою у випадковому середовищі з перемиканням станів.
Антиботан аватар за замовчуванням

06.12.2014 16:12

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини